home *** CD-ROM | disk | FTP | other *** search
- %% $Id: xyps-r.doc,v 2.9 1994/06/09 14:38:56 ross Exp $
- %%
- %% XY-pic ``PostScript Rotations and Scaling''.
- %% Copyright (c) 1993-1994 Ross Moore <ross@mpce.mq.edu.au>
- %%
- %% This file is part of the XY-pic package for graphs and diagrams in TeX.
- %% See the companion README and INSTALL files for further information.
- %% Copyright (c) 1991-1994 Kristoffer H. Rose <kris@diku.dk>
- %%
- %% The XY-pic package is free software; you can redistribute it and/or modify
- %% it under the terms of the GNU General Public License as published by the
- %% Free Software Foundation; either version 2 of the License, or (at your
- %% option) any later version.
- %%
- %% The XY-pic package is distributed in the hope that it will be useful, but
- %% WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- %% or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- %% for more details.
- %%
- %% You should have received a copy of the GNU General Public License along
- %% with this package; if not, write to the Free Software Foundation, Inc.,
- %% 675 Mass Ave, Cambridge, MA 02139, USA.
- %%
- \ifx\xypsrloaded\relax \message{not reloaded}\endinput \fi
- \let\xypsrloaded=\relax \xycatcodes
-
- \DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
- This included file (version \stripRCS$Revision: 2.9 $) provides \XY-ps
- support for the effects defined in the |rotate| extension.
-
- \DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \DOCHEADER
-
- \DOCMODE(
- \xyrequire{rotate}
- \xyrequire{ps}
- \xycatcodes
- \DOCMODE)
-
- All effects defined in the |rotate| extension can
- be implemented using the \PS\ back-end, loaded as |xyps|. However not
- all the effects are correctly handled by all the different \PS\
- drivers. This file provides `generic \PS\ code which is known to work
- correctly with most drivers. No attempt is made to provide special
- code for particular drivers; for driver-specific variations, consult
- the appropriate |xyps-|<driver> file.
-
- \DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
- \paragraph*{Transform lists}
-
- \DOCMODE(
- \xydef@\xyPSpretransform@{\xyPSrawA@{\preXYtransform@@}}
- \xydef@\xyPSposttransform@{\xyPSrawZ@{\postXYtransform@@}}
-
- \xyPSalternative@{\preXYtransform@}{pretransform}
- \xyPSalternative@{\postXYtransform@}{posttransform}
- \DOCMODE)
-
- \DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
- \paragraph*{Rescaling}
-
- \DOCMODE(
- \xydef@\xyPSscale@#1#2{%\bgroup
- % \def\preXYtransform@@{\xyPSpre@}\def\postXYtransform@@{\xyPSpost@}%
- % \let\modPSboxz@=\modXYtransform@
- \xyPSsplitPS@{\xyscale@start(#1,#2)}{\xyscale@end}\xyPSpsxy@
- % \egroup
- % \toks@={\egroup\let\xy@transform@=\relax\def\Drop@@}%
- % \expandafter\addtotoks@\expandafter{\expandafter{\Drop@@}}\the\toks@
- % \xyPSpsxy@
- }
-
- \xydef@\xyscale@start(#1,#2){xyXpos xyYpos 2 copy translate
- #1\space#2\space scale neg exch neg exch translate }
- \xydef@\xyscale@end{}
- \DOCMODE)
-
- \DOCMODE(
- \xyPSalternative@{\xyscale@@}{scale}
- \DOCMODE)
-
- \DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
- \paragraph*{Rotations}
-
- \DOCMODE(
- \xydef@\xyrot@start(#1){ xyXpos xyYpos 2 copy translate
- #1\space neg rotate neg exch neg exch translate }
- \xydef@\xyrot@end{}
-
- \xydef@\xyPSrotate@#1{%\bgroup
- % \def\preShape@@{\xyPSpre@}\def\postShape@@{\xyPSpost@}%
- % \let\modPSboxz@=\modXYtransform@
- \xyPSsplitPS@{\xyrot@start(#1 setupDirection XYdirection 2 mul)}{}%
- \xyPSpsxy@
- % \toks@={\egroup\let\xy@transform@=\relax\def\Drop@@}%
- % \expandafter\addtotoks@\expandafter{\expandafter{\Drop@@}}\showthe\toks@
- % \the\toks@\xyPSpsxy@
- }
-
- \xydef@\xyPSspecialRotate@#1{%\bgroup
- % \def\preShape@@{\xyPSpre@}\def\postShape@@{\xyPSpost@}%
- % \let\modPSboxz@=\modXYtransform@
- \xyPSsplitPS@{\xyrot@start(#1)}{}\xyPSpsxy@
- % \toks@={\egroup\let\xy@transform@=\relax\def\Drop@@}%
- % \expandafter\addtotoks@\expandafter{\expandafter{\Drop@@}}\the\toks@
- % \xyPSpsxy@
- }
-
- \xyPSalternative@{\xyRotate@@}{rotate}
- \xyPSalternative@{\xySpecialRotate@@}{specialRotate}
- \DOCMODE)
-
- \DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
- \paragraph*{Shearing}
-
- This feature is not implemented yet.
-
- \DOCMODE2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
- \paragraph*{The end \& Log}\leavevmode
-
- \DOCMODE(
- \xyendinput
-
- % $Log: xyps-r.doc,v $
- % Revision 2.9 1994/06/09 14:38:56 ross
- % Release 3beta.
- % Includes support for special effects: Rotations, Scaling, Line-width, Colour.
- % Back-ends are separated into separate files.
- % More back-ends are supported, experimentally --- needs testing.
- %
- % Revision 2.9 1994/06/09 14:38:56 ross
- % Release 3beta.
- % Includes support for special effects: Rotations, Scaling, Line-width, Colour.
- % Back-ends are separated into separate files.
- % More back-ends are supported, experimentally --- needs testing.
- %
- % NEW for version 2.9 by by Ross Moore.
- \DOCMODE)
-
- \DOCMODE3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
- % Tell Emacs that this is a LaTeX document and how it is formatted:
- % Local Variables:
- % mode:latex
- % fill-column:77
- % fill-prefix:""
- % End:
-